A Controller Area Network (CAN) bus is a multi-master serial bus that connects one or more nodes in a network. The CAN bus is typically used in automotive and industrial automation applications, however may be applied to other applications. Use of the CAN bus is governed by various ISO standards, for example ISO11898-1 for the CAN protocol, ISO 11898-2 for high speed CAN Physical Layer and ISO 11898-3 for low speed or fault tolerant CAN Physical Layer.
Current CAN buses may able to support varying data rates, for example 1 Mb/s to 10 Mb/s. However the support of such data rates is dependent on the network being correctly terminated. In current networks, this termination may comprise, for example a 120 Ω termination resistance at the end nodes of the network and intermediate nodes being connected to the bus via stubs of a sufficiently short length. The termination is there to prevent reflections on the bus that may distort or compromise the integrity of the signaling on the bus.
The topology of the CAN bus network may comprise multiple nodes located at varying distances to the terminating resistances at the end nodes. The nodes furthest from the terminating resistors may cause reflection when one of the nodes transmit which may cause ringing on the bus. This may reduce the maximum data rate at which the bus may operate correctly.
Traditionally other factors, such as the length of the bus cable, limited the data rate to a speed below the speed at which ringing would become an issue. However advancement in the CAN bus protocol, for example CAN bus flexible data rate (CAN FD), have increased the possible data rate to a point at which ringing becomes influential.
It thus becomes of interest to address the termination resistance and/or the presence of ringing or reflections on the bus.
U.S. Pat. No. 8,593,202 provides a method of suppressing ringing by monitoring the signals on the CAN bus itself. When a state change on the bus is detected, a switch is closed for a fixed period of time to provide a lowering of impedance on the bus.